//#include <iostream>
//using namespace std;
//int t, n, k;
//int main(){
//	cin >> t;
//	while(t--){
//		cin >> n >> k;
//		if ((n % 2) == 1 && (k % 2) == 0){
//			cout << "NO" << endl;
//		}
//		else if (((n % 2) == 1 && n < k) || ((n % 2) == 0 && n < k * 2)){
//			cout << "NO" << endl;
//		}
//		else {
//			cout << "YES" << endl;
//			for (int i = 0; i < k - 1; i++){
//				if (n % 2 == 1) cout << 1 << " ";
//				else cout << 2 << " ";
//			}
//			if (n % 2 == 1) cout << n - 1 * (k - 1) << endl;
//			else cout << n - 2 * (k - 1) << endl;
//			
//		}
//	}
//
//    return 0;
//}
//



#include <iostream>
using namespace std;
int t, n, k;
int main(){
	cin >> t;
	while(t--){
		cin >> n >> k;
		if ((n % 2 == 1 && k % 2 == 0) || (n % 2 == 1 && k % 2 == 1 && n < 1 * k) || (n % 2 == 0 && k % 2 == 1 && n < 2 * k) || (n % 2 == 0 && k % 2 == 0 && n < 1 * k)){
			cout << "NO" << endl;
		}
		else {
			cout << "YES" << endl;
			for (int i = 0; i < k - 1; i++){
				if (n % 2 == 1) cout << 1 << " ";
				else if (k % 2 == 1) cout << 2 << " ";
				else {
					cout << 1 << " ";
				}
			}
			if (n % 2 == 1) cout << n - 1 * (k - 1) << endl;
			else if (k % 2 == 1) cout << n - 2 * (k - 1) << endl;
			else cout << n - 1 * (k - 1) << endl;
			
		}
	}

    return 0;
}



